package com.fss.experience.dao;
import com.fssDataModels.*;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public interface ExperienceDao {
	//CRUD functions
	public TbExperience getExperience(Integer experienceId);
	
	//return: - 0 --> failed
	//		  - 1 --> success
	public int insertExperience(TbExperience experience);
	
	//return: - 0 --> failed
	//		  - 1 --> success
	public int updateExperience(TbExperience experience);
	
	//function: deleteActivity
	//return: - 0 --> not deleted
	//		  - 1 --> deleted
	public int deleteExperience(TbExperience experience);
	
	//comments related functions
	public List getComments(TbExperience experience);
	public int addComment(TbExperience experience,TbComment comment);
	public int deleteComment( TbComment comment);
	
	//experienceType related function
	public int insertExperienceType(TbExperienceType type);
	public TbExperienceType getExperienceType(int typeId);
	public int deleteExperienceType(int typeId);
}
